<?php
/**
 * Created by PhpStorm.
 * User: dapeng
 * Date: 2019-12-13
 * Time: 09:13
 */
//定义一个“学生类”，并由此类实例化两个“学生对象”。
//该类包括姓名，性别，年龄等基本信息，并至少包括一个静态属性（表示总学生数）和一个常量，以及包括构造方法和析构方法。
//该对象还可以调用一个方法来进行“自我介绍”（显示其中的所有属性）。(字符串输出对象)
//构造方法可以初始化一个学生的基本信息，并显示“ｘｘ加入PHP，当前有xx个学生”
//echo ["user"=>"zs","pass"=>123];

/**
 * 学生类
 * Class Student
 */
class Student{

    public static $count;//在所有的对象中共享

    const NAME = "这是学生类";


    public $name;
    public $sex;
    public $age;


    /**
     * Student constructor.
     * 构造方法
     */
    public function __construct($name,$sex)
    {
        self::$count ++;
        $this->name = $name;
        $this->age = rand(00,99);
        $this->sex = $sex;
        echo "<br/>{$this->name}加入PHP，当前有".self::$count."个学生";


    }

    /**
     * 析构方法（对象被销毁时会调用)
     */
    public function __destruct()
    {
       echo $this->name."被销毁了<br/>";
    }

//    public function info(){
//        //拼接所有的属性，打印。
//        echo "";
//    }

    /**
     * 将对象转为字符串
     * 方便调试
     * @return string
     */
    public function __toString()
    {
        return "<br/>".self::NAME.__CLASS__."，我叫{$this->name}，年龄{$this->age}，性别{$this->sex}";
        
    }
}

$xiaoming = new Student("小明","男");
$xiaofang = new Student("小芳","女");
$xiaocui = new Student("小翠","女");

echo $xiaoming;//对象转成字符串
echo $xiaofang;